/**
******************************************************************************
* @file    usbd_hid_core.h
* @author  MCD Application Team
* @version V1.1.0
* @date    19-March-2012
* @brief   header file for the usbd_hid_core.c file.
******************************************************************************
* @attention
*
* <h2><center>&copy; COPYRIGHT 2012 STMicroelectronics</center></h2>
*
* Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
* You may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
*        http://www.st.com/software_license_agreement_liberty_v2
*
* Unless required by applicable law or agreed to in writing, software 
* distributed under the License is distributed on an "AS IS" BASIS, 
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
******************************************************************************
*/ 

/* Includes ------------------------------------------------------------------*/

#ifndef __USB_HID_CORE_H_
#define __USB_HID_CORE_H_


#include "usbd_ioreq.h"


typedef void (*USBD_HID_GETREPORT)(uint8_t *buf, uint16_t len);
typedef void (*USBD_HID_ENDOFSEND)(uint8_t epnum);


extern USBD_Class_cb_TypeDef USBD_HID_cb;
extern USBD_HID_GETREPORT USBD_HID_GetReport_cb;
extern USBD_HID_ENDOFSEND USBD_HID_EndOfSend_cb;


uint8_t SendReport_Input(USB_OTG_CORE_HANDLE *pdev, uint8_t *report, uint16_t len);
uint8_t SendReport_Hid(USB_OTG_CORE_HANDLE *pdev, uint8_t *report, uint16_t len);


#endif  // __USB_HID_CORE_H_

/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
